package com.sumi.erp.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.sumi.common.annotation.Excel;
import com.sumi.common.core.domain.BaseEntity;

/**
 * 调拨单对象 stock_move
 * 
 * @author fgf67@163.com
 * @date 2024-06-28
 */
public class StockMove extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 调拨单id */
    private Long id;

    /** 公司父级id */
    @Excel(name = "公司父级id")
    private Long blocId;

    /** 公司id */
    @Excel(name = "公司id")
    private Long sellerId;

    /** 单据类型id */
    @Excel(name = "单据类型id")
    private Long docTypeId;

    /** 调拨单编号 */
    @Excel(name = "调拨单编号")
    private String moveNo;

    /** 调拨单日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "调拨单日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date moveDate;

    /** 业务员部门id */
    @Excel(name = "业务员部门id")
    private Long departmentId;

    /** 业务员id */
    @Excel(name = "业务员id")
    private Long workerId;

    /** 合作伙伴 */
    @Excel(name = "合作伙伴")
    private Long partnerId;

    /** 交货日期/提货日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "交货日期/提货日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date stockDate;

    /** 状态(1待审核 2已审核 -1作废) */
    @Excel(name = "状态(1待审核 2已审核 -1作废)")
    private Integer status;

    /** 审核确认时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核确认时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date approvalTime;

    /** 单位 */
    @Excel(name = "单位")
    private String uom;

    /** 采购库存id */
    @Excel(name = "采购库存id")
    private Long stockVirtualId;

    /** 采购单id */
    @Excel(name = "采购单id")
    private Long purchaseId;

    /** 采购单明细id */
    @Excel(name = "采购单明细id")
    private Long purchaseDtlId;

    /** 采购单据号 */
    @Excel(name = "采购单据号")
    private String purchaseKey;

    /** 虚拟仓库(调出仓库) */
    @Excel(name = "虚拟仓库(调出仓库)")
    private Long warehouseFromId;

    /** 虚拟仓位(调出仓位) */
    @Excel(name = "虚拟仓位(调出仓位)")
    private Long locationFromId;

    /** 目标虚拟仓库(调入仓库) */
    @Excel(name = "目标虚拟仓库(调入仓库)")
    private Long warehouseToId;

    /** 目标虚拟仓位(调入仓位) */
    @Excel(name = "目标虚拟仓位(调入仓位)")
    private Long locationToId;

    /** 产品id */
    @Excel(name = "产品id")
    private Long productId;

    /** 数量 */
    @Excel(name = "数量")
    private BigDecimal num;

    /** 单价(未税) */
    @Excel(name = "单价(未税)")
    private BigDecimal priceUntax;

    /** 金额(未税) */
    @Excel(name = "金额(未税)")
    private BigDecimal amountUntax;

    /** 含税单价 */
    @Excel(name = "含税单价")
    private BigDecimal price;

    /** 创建人id */
    @Excel(name = "创建人id")
    private Long createUid;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setBlocId(Long blocId) 
    {
        this.blocId = blocId;
    }

    public Long getBlocId() 
    {
        return blocId;
    }
    public void setSellerId(Long sellerId) 
    {
        this.sellerId = sellerId;
    }

    public Long getSellerId() 
    {
        return sellerId;
    }
    public void setDocTypeId(Long docTypeId) 
    {
        this.docTypeId = docTypeId;
    }

    public Long getDocTypeId() 
    {
        return docTypeId;
    }
    public void setMoveNo(String moveNo) 
    {
        this.moveNo = moveNo;
    }

    public String getMoveNo() 
    {
        return moveNo;
    }
    public void setMoveDate(Date moveDate) 
    {
        this.moveDate = moveDate;
    }

    public Date getMoveDate() 
    {
        return moveDate;
    }
    public void setDepartmentId(Long departmentId) 
    {
        this.departmentId = departmentId;
    }

    public Long getDepartmentId() 
    {
        return departmentId;
    }
    public void setWorkerId(Long workerId) 
    {
        this.workerId = workerId;
    }

    public Long getWorkerId() 
    {
        return workerId;
    }
    public void setPartnerId(Long partnerId) 
    {
        this.partnerId = partnerId;
    }

    public Long getPartnerId() 
    {
        return partnerId;
    }
    public void setStockDate(Date stockDate) 
    {
        this.stockDate = stockDate;
    }

    public Date getStockDate() 
    {
        return stockDate;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setApprovalTime(Date approvalTime) 
    {
        this.approvalTime = approvalTime;
    }

    public Date getApprovalTime() 
    {
        return approvalTime;
    }
    public void setUom(String uom) 
    {
        this.uom = uom;
    }

    public String getUom() 
    {
        return uom;
    }
    public void setStockVirtualId(Long stockVirtualId) 
    {
        this.stockVirtualId = stockVirtualId;
    }

    public Long getStockVirtualId() 
    {
        return stockVirtualId;
    }
    public void setPurchaseId(Long purchaseId) 
    {
        this.purchaseId = purchaseId;
    }

    public Long getPurchaseId() 
    {
        return purchaseId;
    }
    public void setPurchaseDtlId(Long purchaseDtlId) 
    {
        this.purchaseDtlId = purchaseDtlId;
    }

    public Long getPurchaseDtlId() 
    {
        return purchaseDtlId;
    }
    public void setPurchaseKey(String purchaseKey) 
    {
        this.purchaseKey = purchaseKey;
    }

    public String getPurchaseKey() 
    {
        return purchaseKey;
    }
    public void setWarehouseFromId(Long warehouseFromId) 
    {
        this.warehouseFromId = warehouseFromId;
    }

    public Long getWarehouseFromId() 
    {
        return warehouseFromId;
    }
    public void setLocationFromId(Long locationFromId) 
    {
        this.locationFromId = locationFromId;
    }

    public Long getLocationFromId() 
    {
        return locationFromId;
    }
    public void setWarehouseToId(Long warehouseToId) 
    {
        this.warehouseToId = warehouseToId;
    }

    public Long getWarehouseToId() 
    {
        return warehouseToId;
    }
    public void setLocationToId(Long locationToId) 
    {
        this.locationToId = locationToId;
    }

    public Long getLocationToId() 
    {
        return locationToId;
    }
    public void setProductId(Long productId) 
    {
        this.productId = productId;
    }

    public Long getProductId() 
    {
        return productId;
    }
    public void setNum(BigDecimal num) 
    {
        this.num = num;
    }

    public BigDecimal getNum() 
    {
        return num;
    }
    public void setPriceUntax(BigDecimal priceUntax) 
    {
        this.priceUntax = priceUntax;
    }

    public BigDecimal getPriceUntax() 
    {
        return priceUntax;
    }
    public void setAmountUntax(BigDecimal amountUntax) 
    {
        this.amountUntax = amountUntax;
    }

    public BigDecimal getAmountUntax() 
    {
        return amountUntax;
    }
    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }
    public void setCreateUid(Long createUid) 
    {
        this.createUid = createUid;
    }

    public Long getCreateUid() 
    {
        return createUid;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("blocId", getBlocId())
            .append("sellerId", getSellerId())
            .append("docTypeId", getDocTypeId())
            .append("moveNo", getMoveNo())
            .append("moveDate", getMoveDate())
            .append("departmentId", getDepartmentId())
            .append("workerId", getWorkerId())
            .append("partnerId", getPartnerId())
            .append("stockDate", getStockDate())
            .append("status", getStatus())
            .append("approvalTime", getApprovalTime())
            .append("uom", getUom())
            .append("stockVirtualId", getStockVirtualId())
            .append("purchaseId", getPurchaseId())
            .append("purchaseDtlId", getPurchaseDtlId())
            .append("purchaseKey", getPurchaseKey())
            .append("warehouseFromId", getWarehouseFromId())
            .append("locationFromId", getLocationFromId())
            .append("warehouseToId", getWarehouseToId())
            .append("locationToId", getLocationToId())
            .append("productId", getProductId())
            .append("num", getNum())
            .append("priceUntax", getPriceUntax())
            .append("amountUntax", getAmountUntax())
            .append("price", getPrice())
            .append("createTime", getCreateTime())
            .append("createUid", getCreateUid())
            .toString();
    }
}
